package com.idealighter.game.roomcard.games.mustniuniu.dto;

import com.baidu.bjf.remoting.protobuf.FieldType;
import com.baidu.bjf.remoting.protobuf.annotation.Protobuf;

import java.util.List;

import lombok.Data;

public class CommonMustNiuNiuCfg {
  @Data
  public static class MustNiuNiuBetOption {
    @Protobuf(order = 1)
    private int id;
    @Protobuf(order = 2, fieldType = FieldType.INT32)
    private List<Integer> betChips;
    @Protobuf(order = 3)
    private String name;
  }

  @Data
  public static class MustNiuNiuRound {
    @Protobuf(order = 1)
    public int round;
    @Protobuf(order = 2)
    public String name;
  }

  @Data
  public static class RoomCardMustNiuNiuFee {
    // 编号
    @Protobuf(order = 1)
    private int id;
    // 类型(0:牛牛上庄,1:固定庄家,2:自由抢庄,3:明牌抢庄)
    @Protobuf(order = 2)
    private byte type;
    // 座位数量
    @Protobuf(order = 3)
    private byte seats;
    // 回合数
    @Protobuf(order = 4)
    private byte rounds;
    // 当有房主支付时的费用
    @Protobuf(order = 5)
    private long payByOwnerFee;
    // 当AA制时，支付的费用
    @Protobuf(order = 6)
    private long payByAaFee;
  }

  @Data
  public static class MustNiuNiuStartOption {
    @Protobuf(order = 1)
    public int id;
    @Protobuf(order = 2)
    public int persons;
    @Protobuf(order = 3)
    public String name;
  }

  @Data
  public static class MustNiuNiuSeatDto {
    @Protobuf(order = 1)
    public int seat;
    @Protobuf(order = 2)
    public String name;
  }

  @Data
  public static class MustNiuNiuExtrBetOption {
    @Protobuf(order = 1)
    public int id;
    @Protobuf(order = 2)
    public int multiple;
    @Protobuf(order = 3)
    public String name;
  }

  @Data
  public static class MustNiuNiuCardMultiple {
    @Protobuf(order = 1)
    public int id;
    @Protobuf(order = 2)
    public List<MultipleOption> multiples;
    @Protobuf(order = 3)
    public String name;
  }

  @Data
  public static class MultipleOption {
    @Protobuf(order = 1)
    public int niu;
    @Protobuf(order = 2)
    public int multiple;
  }

  @Data
  public static class MustNiuNiuCardSpecialMultiple {
    @Protobuf(order = 1)
    public int id;
    @Protobuf(order = 2)
    public int niu;
    @Protobuf(order = 3)
    public int multiple;
    @Protobuf(order = 4)
    public String name;
  }

  @Data
  public static class MustNiuNiuAdvanceOption {
    @Protobuf(order = 1)
    public int id;
    @Protobuf(order = 2)
    public String name;
  }

  @Data
  public static class MustNiuNiuBankerChip {
    @Protobuf(order = 1)
    public int id;
    @Protobuf(order = 2)
    public int chips;
    @Protobuf(order = 3)
    public String name;
  }

  @Data
  public static class MustNiuNiuCallBankerMultiple {
    @Protobuf(order = 1)
    public int multiple;
    @Protobuf(order = 2)
    public String name;
  }
}
